home *** CD-ROM | disk | FTP | other *** search
- BUILT-IN VARIABLES
- The following global variables are created and managed
- automatically by the Tcl library. Except where noted below,
- these variables should normally be treated as read-only by
- application-specific code and by users.
-
- env
- This variable is maintained by Tcl as an array whose
- elements are the environment variables for the process.
- Reading an element will return the value of the
- corresponding environment variable. Setting an element
- of the array will modify the corresponding environment
- variable or create a new one if it doesn't already
- exist. Unsetting an element of env will remove the
- corresponding environment variable. Changes to the env
- array will affect the environment passed to children by
- commands like exec. If the entire env array is unset
- then Tcl will stop monitoring env accesses and will not
- update environment variables.
-
- errorCode
- After an error has occurred, this variable will be set
- to hold additional information about the error in a
- form that is easy to process with programs. errorCode
- consists of a Tcl list with one or more elements. The
- first element of the list identifies a general class of
- errors, and determines the format of the rest of the
- list. The following formats for errorCode are used by
- the Tcl core; individual applications may define
- additional formats.
-
- CHILDKILLED pid sigName msg
- This format is used when a child process has been
- killed because of a signal. The second element of
- errorCode will be the process's identifier (in
- decimal). The third element will be the symbolic
- name of the signal that caused the process to
- terminate; it will be one of the names from the
- include file signal.h, such as SIGPIPE. The
- fourth element will be a short human-readable
- message describing the signal, such as ``write on
- pipe with no readers'' for SIGPIPE.
-
-
- CHILDSTATUS pid code
- This format is used when a child process has
- exited with a non-zero exit status. The second
- element of errorCode will be the process's
- identifier (in decimal) and the third element will
- be the exit code returned by the process (also in
- decimal).
-
- CHILDSUSP pid code
- This format is used when a child process has been
- suspended because of a signal. The second element
- of errorCode will be the process's identifier, in
- decimal. The third element will be the symbolic
- name of the signal that caused the process to
- suspend; this will be one of the names from the
- include file signal.h, such as SIGTTIN. The
- fourth element will be a short human-readable
- message describing the signal, such as
- ``background tty read'' for SIGTTIN.
-
- NONE
- This format is used for errors where no additional
- information is available for an error besides the
- message returned with the error. In these cases
- errorCode will consist of a list containing a
- single element whose contents are NONE.
-
- UNIX errName msg
- If the first element of errorCode is UNIX, then
- the error occurred during a UNIX kernel call. The
- second element of the list will contain the
- symbolic name of the error that occurred, such as
- ENOENT; this will be one of the values defined in
- the include file errno.h. The third element of
- the list will be a human-readable message
- corresponding to errName, such as ``no such file
- or directory'' for the ENOENT case.
-
- To set errorCode, applications should use library
- procedures such as Tcl_SetErrorCode and Tcl_UnixError,
- or they may invoke the error command. If one of these
- methods hasn't been used, then the Tcl interpreter will
- reset the variable to NONE after the next error.
-
- errorInfo
- After an error has occurred, this string will contain
- one or more lines identifying the Tcl commands and
- procedures that were being executed when the most
- recent error occurred. Its contents take the form of a
- stack trace showing the various nested Tcl commands
- that had been invoked at the time of the error.
-